package model

// 基础：接受事件推送 关注事件获取取关事件
type ReceiveEvent struct {
	BasePush
	Event string `xml:"Event"`
}

// 扫描带参数二维码 以及关注
type ScanQrCodeWidthParams struct {
	ReceiveEvent
	EventKey string `xml:"EventKey"` //事件KEY值，qrscene_为前缀，后面为二维码的参数值
	Ticket   string `xml:"Ticket"`   //二维码的ticket，可用来换取二维码图片
}

// 自定义菜单事件
type CustomMenuEvent struct {
	BasePush
	EventKey string `xml:"EventKey"` //事件KEY值，与自定义菜单接口中KEY值对应
}

// 普通消息
type NormalPushMessage struct {
	BasePush
	MsgId     int64  `xml:"MsgId"`     //消息id，64位整型
	MsgDataId string `xml:"MsgDataId"` //消息的数据ID（消息如果来自文章时才有）
	Idx       int    `xml:"Idx"`       //多图文时第几篇文章，从1开始（消息如果来自文章时才有）
}

// 文本消息
type TextMsg struct {
	NormalPushMessage
	Content string `xml:"Content"` //文本消息内容
}

// 图片消息
type Message struct {
	NormalPushMessage
	PicUrl  string `xml:"PicUrl"`
	MediaId string `xml:"MediaId"`
}

// 语音消息
type Voice struct {
	NormalPushMessage
	Format string `xml:"Format"` //语音格式，如amr，speex等
}

//视频消息
type VideoMsg struct {
	NormalPushMessage
	ThumbMediaId string `xml:"ThumbMediaId"` //视频消息缩略图的媒体id，可以调用多媒体文件下载接口拉取数据。
}
